package com.yuanshen.util;


import org.springframework.amqp.core.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author 28691
 */
@Configuration
public class TTLMessageConfig {
    /**
     * 交换机
     */
    @Bean
    public DirectExchange ttlExchange(){
        return new DirectExchange("ttl.direct");
    }
    /**
     * 队列
     */
    @Bean
    public Queue ttlQueue(){
        return QueueBuilder.durable("ttl.queue")
                .deadLetterExchange("dl.direct") //指定死信交换机
                .ttl(10000) //设置队列消息过期时间 10s
                .deadLetterRoutingKey("dl") //死信的routing-key
                .build();
    }
    /**
     * 绑定
     */
    @Bean
    public Binding simpleBinding(){
        //绑定并指定routing-key
        return BindingBuilder.bind(ttlQueue()).to(ttlExchange()).with("ttl");
    }

//    @Bean
//    public DirectExchange ttlExchange(){
//        return new DirectExchange("error.direct");
//    }
//    /**
//     * 队列
//     */
//    @Bean
//    public Queue ttlQueue(){
//        return QueueBuilder.durable("error.queue")
//                .deadLetterExchange("dl.direct") //指定死信交换机
//                .ttl(10000) //设置队列消息过期时间 10s
//                .deadLetterRoutingKey("error") //死信的routing-key
//                .build();
//    }
//    /**
//     * 绑定
//     */
//    @Bean
//    public Binding simpleBinding(){
//        //绑定并指定routing-key
//        return BindingBuilder.bind(ttlQueue()).to(ttlExchange()).with("error");
//    }
}